import { isNaN } from 'lodash'
import { ElMessage } from 'element-plus'
import { isEmpty, isNil } from 'lodash'

// 桩号优化
export function fnFormatting(data) {
  if (isNil(data) || data === '') {
    return ''
  }
  if (typeof data == 'string' && data.indexOf('+') > -1) {
    return data
  }
  if (isNaN(Number(data))) {
    ElMessage.error('请输入正确的桩号数值！')
    return ''
  }
  if (Number(data) == 0) {
    return '0+000.000'
  }
  // 获取输入值 除以1000 12.3 => 0.0123
  let endData = String(Number(data) / 1000)
  //将.替换成+  0.0123 => 0+0123
  let replaceData = endData.replace('.', '+')
  // 0.123
  // console.log(endData)
  //  拼+ 0+123
  // console.log(replaceData)
  // 123
  // console.log(
  //   endData.slice(endData.indexOf('.') + 1)
  // )
  // 小数点后面大于3位
  if (endData.indexOf('.') == -1) {
    return endData + '+000.000'
  } else if (endData.slice(endData.indexOf('.') + 1).length > 3) {
    if (
      (
        replaceData.slice(replaceData.indexOf('+') + 1).slice(0, 3) +
        '.' +
        replaceData.slice(replaceData.indexOf('+') + 1).slice(3)
      ).length > 7
    ) {
      return (
        replaceData.slice(0, replaceData.indexOf('+') + 1) +
        (
          replaceData.slice(replaceData.indexOf('+') + 1).slice(0, 3) +
          '.' +
          replaceData.slice(replaceData.indexOf('+') + 1).slice(3)
        ).slice(0, 7)
      )
    } else {
      return (
        replaceData.slice(0, replaceData.indexOf('+') + 1) +
        (
          replaceData.slice(replaceData.indexOf('+') + 1).slice(0, 3) +
          '.' +
          replaceData.slice(replaceData.indexOf('+') + 1).slice(3)
        ).padEnd(7, '0')
      )
    }
  } else {
    return (
      replaceData.slice(0, replaceData.indexOf('+') + 1) +
      replaceData.slice(replaceData.indexOf('+') + 1).padEnd(3, '0') +
      '.000'
    )
  }
}

// 桩号转数字
export function stakeToValue(stake) {
  if (isEmpty(stake)) {
    return ''
  }
  if (typeof stake == 'string') {
    return Number(stake.replace('+', '')).toString()
  }
  return stake
}
